// #include <iostream>
// #include<string>
//
// using namespace std;
//
// //虚析构函数
// class parent
// {
// public:
//     virtual void print() = 0;
//     virtual  ~parent()
//     {
//         cout << "~parent" << endl;
//     }
// };
// class son:public parent
// {
// public:
//     virtual void print()
//     {
//        cout << "print" << endl;
//     }
//     ~son()
//     {
//         cout << "~son" << endl;
//     }
// };
//
//
//
//
// int main()
// {
//     //存在子类对象 初始化父类指针的时候 写虚析构函数
//     parent* p = new son;
//     p->print();
//     delete p;
//     return 0;
// }